# 使用 Node.js 18 LTS 版本作为基础镜像
FROM node:18-alpine

# 安装 SQLite 命令行工具 + 编译依赖（python3、g++、make 等）
# 注意：Alpine 中 Python 3 包名为 python3，编译工具在 build-base 中
RUN apk update && \
    apk add --no-cache \
     # SQLite 命令行工具
    sqlite \
    # 编译需要的 Python 3
    python3 \
    # Python 包管理工具（可选，确保 python3 可用）
    py3-pip \
    # 包含 g++、make 等编译工具
    build-base \
    && rm -rf /var/cache/apk/*

# 设置工作目录
WORKDIR /app

# 复制 package.json 和 package-lock.json
COPY package*.json ./

# 安装项目依赖（此时会自动编译 sqlite3，因已安装编译工具）
# RUN npm install

# 复制项目所有文件
COPY . .

# 暴露项目端口
EXPOSE 3334

# 启动命令（建议恢复 AdonisJS 正常启动命令，而非 tail -f）
# CMD ["node", "ace", "serve", "--watch"]
CMD tail -f /dev/null
